System control program (SCP), also known as an operating system, is a computer program which manages the operation of a computer system. The functions of a SCP basically include scheduling and supervising operation of user tasks, and managing and arbitrating system resources (for example, storage space and input/output devices) among competing users.
A SCP can also enhances the "user-friendliness" of a computer system, by allowing a user to communicate in high-level, concise languages with the low-level hardware of the computer system. The SCP issues, in response specific user commands, instruction sequences that are adapted to the characteristics of the system, and thereby relieves the user from having to code many complex routines As an example, to store data in a direct access storage device, a user, with the assistance of a SCP, can simply issue such commands as "open file", "read file" and "write file". Without the assistance of a SCP, the user may have to code a sequence of machines instructions that may include, for example, testing the statuses of the computer's input/output channel, testing the statuses of the device, positioning the read/write head of the device, reading and/or writing the device, determining the success of the operation, and performing error recoveries if the operation fails.
To satisfy the diverse processing requirements of users, a computer maker usually provides different models of a basic type of computer. For example, the IBM System/370 family of computers has such models as the 145, 168, 3033, XA, and other compatibles. Although the models of a computer family has the same basic architecture (that is, the basic instruction set), each model typically possesses different operational characteristics. For example, the IBM System/370 XA model has features such as a 31-bit addressing and dual address space which other models (for example, the IBM System/370 model 145) do not have.
In addition, even for computer systems with the same model, the configurations of individual computer systems, that is, the memory size, and the number and types of external devices attached thereto, the manner in which the external devices are attached etc., may vary from one computer to another.
In order for a SCP to perform the above-described functions, information concerning the operational characteristics and configuration of a computer system have to be provided to the SCP.
In some prior art systems, provision of such information is typically performed by a system operator in a process commonly known as a system generation (SYSGEN). During the system generation process, the operator determines the system configuration and, based upon the information, creates a system definition data set (SYSDEF). This system definition data set is then compiled into a starter SCP to build a operational SCP. Once the operational SCP is built, it is loaded into the system memory each time the computer is initialized (during Initial Program Load, IPL).
However, for many computers, the process of creating the system definition and compiling into the SCP is usually a tedious process. Moreover, if the configuration of the computer system changes by the addition or removal of one or more devices, or if a different model of computer is used, the system definition has to be recreated and the SCP has to be rebuilt.
In other prior art computer systems, such as the IBM personal computers, the system generation process is eliminated by fixing certain types of devices to dedicated input/output ports. The SCP is implemented so that it can only communicate with a particular type of device at a particular input/output port. If a different device is attached to a port, then a special support program is added to the SCP or the configuration is redefined.
An object of the invention is to allow a SCP to start operation without performing the SYSGEN process.
Another object of the invention is to allow a computer system to start operation without needing to build a SCP even after the configuration of the system has been changed.